/**
 * 
 * 可通过 $page 获取或修改当前页面的 变量 状态 handler lifecycle 等信息
 * 可通过 app 获取或修改全局应用的 变量 状态 等信息
 * 具体可以console.info 在编辑器Console面板查看更多信息
 * 注意：该方法仅在所属的页面有效
 * 如果需要 async-await，请修改成 export default async function() {}
 * 帮助文档 https://cloud.tencent.com/document/product/1301/57912
 **/

/**
 * @param {Object} event - 事件对象
 * @param {string} event.type - 事件名
 * @param {any} event.detail - 事件携带自定义数据
 *
 * @param {Object} data
 * @param {any} data.target - 获取事件传参的数据
 **/
export default async function({event}) {
  $w.page.dataset.state.loading = true;
  const params = event.detail;
  const auth = (await $w.cloud.getCloudInstance()).authInstance;
  try {
    const result = await auth.modifyPassword({
      password: params.oldPwd,
      new_password: params?.newPwd,
    });
    if (result?.error_code) {
      $w.utils.showModal({ title: '操作失败', content: `${result?.error}: ${result?.error_description}` });
    } else if (result?.message && result?.stack) {
      $w.utils.showModal({ title: '操作失败', content: `${result?.message}` });
    } else {
      $w.utils.showToast({ title: '操作成功' });
      $w.modal1.close({});
    }
  } catch (error) {
    console.log('=======> resetPassword err', error);
    $w.utils.showModal({ title: '操作失败', content: `${error?.error}: ${error?.error_description}` });
  }
  $w.page.dataset.state.loading = false;
}